from apps.PO.CoursePO import CoursePO
from apps.mapper.CourseMapper import CourseMapper


# 课程服务类
class CourseService:
    # 构造函数
    def __init__(self, course_po: CoursePO):
        # 实例化CoursePO
        self.course_name = course_po.course_name
        self.course_cat = course_po.cat
        self.course_teacher = course_po.teacher
        # 实例化CourseMapper
        self.course_mapper = CourseMapper()

    # 新增课程
    def add_course(self):
        # 调用CourseMapper的add_course方法
        return self.course_mapper.add_course(self.course_name, self.course_cat, self.course_teacher)

    # 根据course_name删除课程
    def delete_course_by_name(self):
        # 调用CourseMapper的delete_course_by_name方法
        return self.course_mapper.delete_course_by_name(self.course_name)

    # 根据course_name更新课程信息
    def update_course_by_name(self):
        # 调用CourseMapper的update_course_by_name方法
        # 打印日志
        print("update_course_by_name: course_name:{}, course_cat:{}, course_teacher:{}".format(self.course_name, self.course_cat, self.course_teacher))
        return self.course_mapper.update_course_by_name(self.course_name, self.course_cat,
                                                        self.course_teacher)

    # 根据course_name查询课程信息
    def get_course_by_name(self):
        # 调用CourseMapper的get_course_by_name方法
        return self.course_mapper.get_course_by_name(self.course_name)

    # 返回所有课程信息
    def get_all_courses(self):
        # 调用CourseMapper的get_all_courses方法
        return self.course_mapper.get_all_courses()

